Many communication systems are constrained as to the types of signals that can be communicated. Often, energy at low frequencies is undesirable for reasons such as greater power dissipation in the receiver/transmitter and high-pass frequency characteristics of the communications channel. In a binary data stream, the amount of low frequency content is determined by the number of consecutive 1's or 0's in the data stream, and by imbalance in the total number of 1's and 0's transmitted. Line codes are used in digital communication systems to reduce this low frequency energy.
The widely used 8b/10b line code generates a binary data stream containing no more than five consecutive 1's or 0's, and is DC-free. DC-free means that the total number of 1's transmitted minus the total number of 0's transmitted is bounded on either side of zero by two constants. The two constants are often opposites of each other. The 8b/10b code replaces each 8 bits of user data with 10 bits of coded data. Increasing the number of bits by 2, from 8 to 10, means that there is 25% (2/8) redundancy in the 8b/10b code.